home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 30 / PC Gamer IT CD 30 1-2.iso / MOTS / GAMEDATA / RESOURCE / JKMRES.GOO / cog_actor_sc_pnch.cog < prev    next >
Text File  |  1998-02-25  |  3KB  |  116 lines

  1. # Jedi Knight Cog Script
  2. #
  3. # ACTOR_sc_pnch.COG
  4. #
  5. # ACTOR SCRIPT - Scout Trooper
  6. #
  7. # [CYW, YB, CR, SRS]
  8. #
  9. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  10.  
  11.  
  12. symbols
  13.  
  14. message     killed
  15. message     damaged
  16. message     skill
  17.  
  18. int         oldAIMode                        local
  19.  
  20. template    powerup=BlasTechPistol           local
  21.  
  22. int         newThing                         local
  23. int         victim                           local
  24. int         bin                              local
  25. int         senderref=-1                     local
  26. ai          flee_ai=noweapon.ai              local
  27. ai          punch_ai=sc_punch.ai             local
  28. int         damage                           local
  29. vector      currentpos                       local
  30.  
  31. end
  32.  
  33. # ========================================================================================
  34.  
  35. code
  36.  
  37. damaged:
  38.    damage = GetParam(0);
  39.    if(GetParam(1) == 16)     // saber does 1.5 times damage
  40.    {
  41.       damage = (damage * 1.5);
  42.    }
  43.    ReturnEx(damage);
  44.    return;
  45.  
  46. # ........................................................................................
  47.  
  48. killed:
  49.    victim = GetSenderRef();
  50.  
  51.    // drop a pistol
  52.    if (GetActorWeapon (victim, 1) != -1)
  53.    {
  54.       newThing = CreateThing(powerup, GetSenderRef());
  55.       SetLifeleft(newThing, 200.0);
  56.  
  57.       AmputateJoint(victim, 3);
  58.    }
  59.  
  60.    return;
  61.  
  62. # ........................................................................................
  63.  
  64. skill:
  65.    bin = GetParam(0);
  66.    if(bin == 24)                             // Force Pull
  67.    {
  68.       // he's a fighter, not a fleer... -srs
  69.  
  70.       senderref = GetSenderRef();
  71.          // If he hasn't been pulled yet...
  72.       if (GetActorWeapon (senderref, 1) != -1)
  73.       {
  74.          SetActorWeapon(senderref, 1, -1);
  75.  
  76.          newThing = CreateThing(powerup, GetSenderRef());
  77.          SetLifeleft(newThing, 30.0);
  78.  
  79.          AISetClass (senderref, punch_ai);
  80.          AISetMode(senderref, 0x4);
  81.  
  82.          ReturnEx(newThing);
  83.       }
  84.       else
  85.       {
  86.             // Give the actor a shove towards the player.
  87.          currentpos = VectorSub(GetThingPos(GetLocalPlayerThing()), GetThingPos(senderref));
  88.          currentpos = VectorScale(VectorNorm(currentPos), 250);
  89.          ApplyForce(senderref, currentpos);
  90.  
  91.          ReturnEx(-1);
  92.       }
  93.  
  94.       //AIFlee(senderref, GetLocalPlayerThing());
  95.  
  96.       Return;
  97.    }
  98.    else
  99.    if(bin == 31)                             // Force Grip
  100.    {
  101.       ReturnEx(10);                          // return base damage that is taken by this actor.
  102.       Return;
  103.    }
  104.    else
  105.    if(bin == 34)                             // Deadly Sight
  106.    {
  107.       ReturnEx(10);                          // return base damage that is taken by this actor.
  108.       Return;
  109.    }
  110.  
  111.    ReturnEx(-1);
  112.    return;
  113.  
  114. end
  115.  
  116.